package com.clear.honghefinance.biz.modules.account.domain.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;


/**
 * <p>
 * 修改账套DTO
 * </p>
 */
@Getter
@Setter
public class UpdateAccountBookDTO implements Serializable {

    /**
     * 账套id
     */
    @ApiModelProperty(value = "账套id")
    @NotNull(message = "[账套id]不能为空")
    private Long id;

    /**
     * 公司名称
     */
    @ApiModelProperty(value = "公司名称")
    @NotBlank(message = "[公司名称]不能为空")
    @Size(max = 200, message = "公司名称编码长度不能超过200")
    private String companyName;

    /**
     * 行业代码id（取数据字典）
     */
    @ApiModelProperty(value = "行业代码id（取数据字典）")
    @NotNull(message = "[行业代码id（取数据字典）]不能为空")
    private Integer industryId;

    /**
     * 增值税种类[0：小规模纳税人；1：一般纳税人]
     */
    @ApiModelProperty(value = "增值税种类[0：小规模纳税人；1：一般纳税人]")
    @NotNull(message = "[增值税种类]不能为空")
    private Byte valueAddedTaxCate;

    /**
     * 凭证是否审核[0：不审核；1：审核]
     */
    @ApiModelProperty(value = "凭证是否审核[0：不审核；1：审核]")
    @NotNull(message = "[凭证是否审核]不能为空")
    private Boolean enableVoucherVerify;

    /**
     * 是否启用固定资产模块[0：不启用；1：启用]
     */
    @ApiModelProperty(value = "是否启用固定资产模块[0：不启用；1：启用]")
    @NotNull(message = "[是否启用固定资产模块]不能为空")
    private Boolean enableFixedAssets;

    /**
     * 是否启用资金模块[0：不启用；1：启用]
     */
    @ApiModelProperty(value = "是否启用资金模块[0：不启用；1：启用]")
    @NotNull(message = "[是否启用固定资产模块]不能为空")
    private Boolean enableCapital;

    /**
     * 是否启用进销存[0：不启用；1：启用]
     */
    @ApiModelProperty(value = "是否启用进销存[0：不启用；1：启用]")
    @NotNull(message = "[是否启用进销存]不能为空")
    private Boolean enablePsi = false;
}